#ifndef _DATA_H
#define _DATA_H
#include <unistd.h>
#include <fstream>
#include <iostream>
using namespace std;

//保存读取到的登录记录的结构体（包括登入记录和登出记录，由log_type决定）
struct LogRec
{
	char log_name[32]; //用户登录名
	pid_t pid;         //进程ID
	int log_time;      //登录时刻，单位是秒
    char log_ip[32];   //登录终端的IP地址
    short log_type;    //登录类型/7登入/8登出
};

//保存匹配好的登入登出记录的结构体
struct MatchedLogRec
{
	char log_name[32]; //用户登录名
    pid_t pid;         //进程ID
    int login_time;    //登入时刻
    int logout_time;   //登出时刻
    int duration;      //登录时间长度
    char log_ip[32];   //登录终端的IP地址
	
	friend ostream& operator<< (ostream& os,MatchedLogRec const& matched_log){
		return os << endl << "用户登录名：" << matched_log.log_name << endl
				  << "登入时刻：" << matched_log.login_time << endl
		          << "登出时刻：" << matched_log.logout_time << endl
		          << "在线时间：" << matched_log.duration << endl
		          << "登入IP：" << matched_log.log_ip ;	
	}
};

#endif
